//引入登录接口
import { $login } from '@/api';
import router from '@/router';
//用户信息、用户权限
const user = {
    state: {
        account: "",//用户名
        username: "",//中文名字
        type: "",//权限 1 超级管理员 （可以对普通用户进行增删查改、分配权限）    2. 普通管理员
        token: ""//令牌,登录成功后，后台会给用户分配唯一的token凭证，后面所有的api获取都需要向后台传递这个token,如果 token不正确或过期，api接口会报错，获取不到数据
    },
    mutations: {
        //用户名
        SET_ACCOUNT(state, account) {
            state.account = account;
        },
        //中文名字
        SET_USERNAME(state, username) {
            state.username = username;
        },
        //权限值
        SET_TYPE(state, type) {
            state.type = type;
        },
        //token
        SET_TOKEN(state, token) {
            state.token = token;
        }
    },
    //action 
    actions: {
        //登录的动作
        LoginAction({ commit }, userInfo) {
            console.log(commit);
            //调用后台接口,获取登录数据，将数据保存到 vuex
            $login(userInfo).then(res => {
                console.log(res);
                //如果登录成功，将数据保存到 vuex
                if (res.data.msg == 'success') {
                    commit('SET_ACCOUNT', res.data.data.account);
                    commit('SET_USERNAME', res.data.data.username);
                    commit('SET_TYPE', res.data.data.type);
                    commit('SET_TOKEN', res.data.token);
                    //跳转后台的首页
                    router.push('/home/dashboard');
                }

            })
        },
        LogoutAction({ commit }) {
            commit('SET_ACCOUNT', "")
            commit('SET_USERNAME', "")
            commit('SET_TYPE', "")
            commit('SET_TOKEN', "")
            router.push('/login');
        }
    }
}

export default user;